package com.irdstudio.efp.esb.service.bo.req.hj;

import com.alibaba.fastjson.annotation.JSONField;
import com.irdstudio.efp.esb.common.constant.hj.HjBaseBean;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;


/**
 * 需求编号:2019D0519
 * 问题编号:
 * 开发人员: caoxin
 * 创建日期:2019/7/19
 * 功能描述:贷款开立发放请求对象
 * 修改日期:2019/7/19
 * 修改描述:
 */
public class ReqLoanReleaseBean extends HjBaseBean implements Serializable {
    // 服务场景码
    public static final String SVCFLD = "MBSD_BP_LM";
    // 服务类型
    public static final String SVCTP = "1000";
    // 互金服务编码
    public static final String SERVICECD = "0201";
    // 产品类型
    public static final String PROTYPE = "01020001";
    {
        // 服务场景
        setSvcFld(ReqLoanReleaseBean.SVCFLD);
        // 服务类型
        setSvcTp(ReqLoanReleaseBean.SVCTP);
        // 服务编码
        setServiceCd(ReqLoanReleaseBean.SERVICECD);
    }
    // 客户号
    private String ClntNo;
    // 产品类型
    private String ProdType;
    // 币种
    private String CurrCd;
    // 合同金额
    private String ContrAmt;
    // 交易机构号
    String TxnBrId;
    // 贷款期限
    private String LoanTrm;
    // 期限类型
    private String TrmType;
    // 合同起始日期
    private String ContrBegDt;
    // 合同终止日期
    private String ContrEndDt;
    // 还款方式
    private String RpyMd;
    // 发放截止日
    private String DistrStopDt;
    // 贷款用途
    private String LoanUsg;
    // 贷款原因
    private String LoanRsn;
    // 担保方式
    private String GuarMd;
    // 统计标志1
    private String StatFlg1;
    // 统计标志2
    private String StatFlg2;
    // 统计标志3
    private String StatFlg3;
    // 授信合同号
    private String CrdtContrNo;
    // 贷款五级分类
    private String LoanLvl5Cl;
    // 结息频率
    private String IntSetlFrqcy;
    // 正常利率
    private String ComIntRate;
    // 罚息利率
    private String PnyIntRate;
    // 复利利率
    private String CmpdIntRate;
    // 罚息复利利率
    private String PnyCmpdIntRate;
    // 复利的复利利率
    private String CmpdedCmpdIntRate;
    // 正常利率浮动百分比
    private String ComIntRateFltIntPrt;
    // 罚息利率浮动百分比
    private String PnyIntRateFltIntPrt;
    // 复利利率浮动百分比
    private String CmpdIntRateFltIntPrt;
    // 罚息复利利率浮动百分比
    private String PnyCmpdIntRateFltIntPrt;
    // 复利的复利利率浮动百分比
    private String CmpdedCmpdIntRateFltIntPrt;
    // 下次结息日期
    private String NxtIntSetlDt;
    // 结息日期
    private String IntSetlDt;
    // 手机号
    private String MblNo;
    // 正常利率基准浮动百分点
    private String NrlIntRtBnchmrkFlotPrcntl;
    // 罚息利率基准浮动百分点
    private String PnyIntIntRtBnchmrkFlotPrcntl;
    // 复利利率基准浮动百分点
    private String CmpdIntRtBnchmrkFlotPrcntl;
    // 罚息复利利率基准浮动百分点
    private String PnyIntCmpdRtBnchmrkFlotPrcntl;
    // 复利的复利利率基准浮动百分点
    private String CmpdIntCmpdRtBnchmrkFlotPrcntl;

    // 结算信息数组
    private List<IntSetInf> IntSetInfArry = new ArrayList<>();
    @JSONField(name="NrlIntRtBnchmrkFlotPrcntl")
    public void setNrlIntRtBnchmrkFlotPrcntl(String NrlIntRtBnchmrkFlotPrcntl){this.NrlIntRtBnchmrkFlotPrcntl=NrlIntRtBnchmrkFlotPrcntl;}
    @JSONField(name="NrlIntRtBnchmrkFlotPrcntl")
    public String getNrlIntRtBnchmrkFlotPrcntl(){return NrlIntRtBnchmrkFlotPrcntl;}


    @JSONField(name="PnyIntIntRtBnchmrkFlotPrcntl")
    public void setPnyIntIntRtBnchmrkFlotPrcntl(String PnyIntIntRtBnchmrkFlotPrcntl){this.PnyIntIntRtBnchmrkFlotPrcntl=PnyIntIntRtBnchmrkFlotPrcntl;}
    @JSONField(name="PnyIntIntRtBnchmrkFlotPrcntl")
    public String getPnyIntIntRtBnchmrkFlotPrcntl(){return PnyIntIntRtBnchmrkFlotPrcntl;}

    @JSONField(name="CmpdIntRtBnchmrkFlotPrcntl")
    public void setCmpdIntRtBnchmrkFlotPrcntl(String CmpdIntRtBnchmrkFlotPrcntl){this.CmpdIntRtBnchmrkFlotPrcntl=CmpdIntRtBnchmrkFlotPrcntl;}
    @JSONField(name="CmpdIntRtBnchmrkFlotPrcntl")
    public String getCmpdIntRtBnchmrkFlotPrcntl(){return CmpdIntRtBnchmrkFlotPrcntl;}

    @JSONField(name="PnyIntCmpdRtBnchmrkFlotPrcntl")
    public void setPnyIntCmpdRtBnchmrkFlotPrcntl(String PnyIntCmpdRtBnchmrkFlotPrcntl){this.PnyIntCmpdRtBnchmrkFlotPrcntl=PnyIntCmpdRtBnchmrkFlotPrcntl;}
    @JSONField(name="PnyIntCmpdRtBnchmrkFlotPrcntl")
    public String getPnyIntCmpdRtBnchmrkFlotPrcntl(){return PnyIntCmpdRtBnchmrkFlotPrcntl;}

    @JSONField(name="CmpdIntCmpdRtBnchmrkFlotPrcntl")
    public void setCmpdIntCmpdRtBnchmrkFlotPrcntl(String CmpdIntCmpdRtBnchmrkFlotPrcntl){this.CmpdIntCmpdRtBnchmrkFlotPrcntl=CmpdIntCmpdRtBnchmrkFlotPrcntl;}
    @JSONField(name="CmpdIntCmpdRtBnchmrkFlotPrcntl")
    public String getCmpdIntCmpdRtBnchmrkFlotPrcntl(){return CmpdIntCmpdRtBnchmrkFlotPrcntl;}

    @JSONField(name="ClntNo")
    public void setClntNo(String ClntNo){this.ClntNo=ClntNo;}
    @JSONField(name="ClntNo")
    public String getClntNo(){return ClntNo;}
    @JSONField(name="ProdType")
    public void setProdType(String ProdType){this.ProdType=ProdType;}
    @JSONField(name="ProdType")
    public String getProdType(){return ProdType;}
    @JSONField(name="CurrCd")
    public void setCurrCd(String CurrCd){this.CurrCd=CurrCd;}
    @JSONField(name="CurrCd")
    public String getCurrCd(){return CurrCd;}
    @JSONField(name="ContrAmt")
    public void setContrAmt(String ContrAmt){this.ContrAmt=ContrAmt;}
    @JSONField(name="ContrAmt")
    public String getContrAmt(){return ContrAmt;}
    @JSONField(name="TxnBrId")
    public void setTxnBrId(String TxnBrId){this.TxnBrId=TxnBrId;}
    @JSONField(name="TxnBrId")
    public String getTxnBrId(){return TxnBrId;}
    @JSONField(name="LoanTrm")
    public void setLoanTrm(String LoanTrm){this.LoanTrm=LoanTrm;}
    @JSONField(name="LoanTrm")
    public String getLoanTrm(){return LoanTrm;}
    @JSONField(name="TrmType")
    public void setTrmType(String TrmType){this.TrmType=TrmType;}
    @JSONField(name="TrmType")
    public String getTrmType(){return TrmType;}
    @JSONField(name="ContrBegDt")
    public void setContrBegDt(String ContrBegDt){this.ContrBegDt=ContrBegDt;}
    @JSONField(name="ContrBegDt")
    public String getContrBegDt(){return ContrBegDt;}
    @JSONField(name="ContrEndDt")
    public void setContrEndDt(String ContrEndDt){this.ContrEndDt=ContrEndDt;}
    @JSONField(name="ContrEndDt")
    public String getContrEndDt(){return ContrEndDt;}
    @JSONField(name="RpyMd")
    public void setRpyMd(String RpyMd){this.RpyMd=RpyMd;}
    @JSONField(name="RpyMd")
    public String getRpyMd(){return RpyMd;}
    @JSONField(name="DistrStopDt")
    public void setDistrStopDt(String DistrStopDt){this.DistrStopDt=DistrStopDt;}
    @JSONField(name="DistrStopDt")
    public String getDistrStopDt(){return DistrStopDt;}
    @JSONField(name="LoanUsg")
    public void setLoanUsg(String LoanUsg){this.LoanUsg=LoanUsg;}
    @JSONField(name="LoanUsg")
    public String getLoanUsg(){return LoanUsg;}
    @JSONField(name="LoanRsn")
    public void setLoanRsn(String LoanRsn){this.LoanRsn=LoanRsn;}
    @JSONField(name="LoanRsn")
    public String getLoanRsn(){return LoanRsn;}
    @JSONField(name="GuarMd")
    public void setGuarMd(String GuarMd){this.GuarMd=GuarMd;}
    @JSONField(name="GuarMd")
    public String getGuarMd(){return GuarMd;}
    @JSONField(name="StatFlg1")
    public void setStatFlg1(String StatFlg1){this.StatFlg1=StatFlg1;}
    @JSONField(name="StatFlg1")
    public String getStatFlg1(){return StatFlg1;}
    @JSONField(name="StatFlg2")
    public void setStatFlg2(String StatFlg2){this.StatFlg2=StatFlg2;}
    @JSONField(name="StatFlg2")
    public String getStatFlg2(){return StatFlg2;}
    @JSONField(name="StatFlg3")
    public void setStatFlg3(String StatFlg3){this.StatFlg3=StatFlg3;}
    @JSONField(name="StatFlg3")
    public String getStatFlg3(){return StatFlg3;}
    @JSONField(name="CrdtContrNo")
    public void setCrdtContrNo(String CrdtContrNo){this.CrdtContrNo=CrdtContrNo;}
    @JSONField(name="CrdtContrNo")
    public String getCrdtContrNo(){return CrdtContrNo;}
    @JSONField(name="LoanLvl5Cl")
    public void setLoanLvl5Cl(String LoanLvl5Cl){this.LoanLvl5Cl=LoanLvl5Cl;}
    @JSONField(name="LoanLvl5Cl")
    public String getLoanLvl5Cl(){return LoanLvl5Cl;}

    @JSONField(name="IntSetlFrqcy")
    public void setIntSetlFrqcy(String IntSetlFrqcy){this.IntSetlFrqcy=IntSetlFrqcy;}
    @JSONField(name="IntSetlFrqcy")
    public String getIntSetlFrqcy(){return IntSetlFrqcy;}
    @JSONField(name="ComIntRate")
    public void setComIntRate(String ComIntRate){this.ComIntRate=ComIntRate;}
    @JSONField(name="ComIntRate")
    public String getComIntRate(){return ComIntRate;}
    @JSONField(name="PnyIntRate")
    public void setPnyIntRate(String PnyIntRate){this.PnyIntRate=PnyIntRate;}
    @JSONField(name="PnyIntRate")
    public String getPnyIntRate(){return PnyIntRate;}
    @JSONField(name="CmpdIntRate")
    public void setCmpdIntRate(String CmpdIntRate){this.CmpdIntRate=CmpdIntRate;}
    @JSONField(name="CmpdIntRate")
    public String getCmpdIntRate(){return CmpdIntRate;}
    @JSONField(name="PnyCmpdIntRate")
    public void setPnyCmpdIntRate(String PnyCmpdIntRate){this.PnyCmpdIntRate=PnyCmpdIntRate;}
    @JSONField(name="PnyCmpdIntRate")
    public String getPnyCmpdIntRate(){return PnyCmpdIntRate;}
    @JSONField(name="CmpdedCmpdIntRate")
    public void setCmpdedCmpdIntRate(String CmpdedCmpdIntRate){this.CmpdedCmpdIntRate=CmpdedCmpdIntRate;}
    @JSONField(name="CmpdedCmpdIntRate")
    public String getCmpdedCmpdIntRate(){return CmpdedCmpdIntRate;}
    @JSONField(name="ComIntRateFltIntPrt")
    public void setComIntRateFltIntPrt(String ComIntRateFltIntPrt){this.ComIntRateFltIntPrt=ComIntRateFltIntPrt;}
    @JSONField(name="ComIntRateFltIntPrt")
    public String getComIntRateFltIntPrt(){return ComIntRateFltIntPrt;}
    @JSONField(name="PnyIntRateFltIntPrt")
    public void setPnyIntRateFltIntPrt(String PnyIntRateFltIntPrt){this.PnyIntRateFltIntPrt=PnyIntRateFltIntPrt;}
    @JSONField(name="PnyIntRateFltIntPrt")
    public String getPnyIntRateFltIntPrt(){return PnyIntRateFltIntPrt;}
    @JSONField(name="CmpdIntRateFltIntPrt")
    public void setCmpdIntRateFltIntPrt(String CmpdIntRateFltIntPrt){this.CmpdIntRateFltIntPrt=CmpdIntRateFltIntPrt;}
    @JSONField(name="CmpdIntRateFltIntPrt")
    public String getCmpdIntRateFltIntPrt(){return CmpdIntRateFltIntPrt;}
    @JSONField(name="PnyCmpdIntRateFltIntPrt")
    public void setPnyCmpdIntRateFltIntPrt(String PnyCmpdIntRateFltIntPrt){this.PnyCmpdIntRateFltIntPrt=PnyCmpdIntRateFltIntPrt;}
    @JSONField(name="PnyCmpdIntRateFltIntPrt")
    public String getPnyCmpdIntRateFltIntPrt(){return PnyCmpdIntRateFltIntPrt;}
    @JSONField(name="CmpdedCmpdIntRateFltIntPrt")
    public void setCmpdedCmpdIntRateFltIntPrt(String CmpdedCmpdIntRateFltIntPrt){this.CmpdedCmpdIntRateFltIntPrt=CmpdedCmpdIntRateFltIntPrt;}
    @JSONField(name="CmpdedCmpdIntRateFltIntPrt")
    public String getCmpdedCmpdIntRateFltIntPrt(){return CmpdedCmpdIntRateFltIntPrt;}
    @JSONField(name="NxtIntSetlDt")
    public void setNxtIntSetlDt(String NxtIntSetlDt){this.NxtIntSetlDt=NxtIntSetlDt;}
    @JSONField(name="NxtIntSetlDt")
    public String getNxtIntSetlDt(){return NxtIntSetlDt;}
    @JSONField(name="IntSetlDt")
    public void setIntSetlDt(String IntSetlDt){this.IntSetlDt=IntSetlDt;}
    @JSONField(name="IntSetlDt")
    public String getIntSetlDt(){return IntSetlDt;}
    @JSONField(name="IntSetInfArry")
    public List<IntSetInf> getIntSetInfArry() {
        return IntSetInfArry;
    }
    @JSONField(name="IntSetInfArry")
    public void setIntSetInfArry(List<IntSetInf> intSetInfArry) {
        IntSetInfArry = intSetInfArry;
    }
    @JSONField(name="MblNo")
    public void setMblNo(String  MblNo){this.MblNo=MblNo;}
    @JSONField(name="MblNo")
    public String getMblNo(){return MblNo;}
    public static class IntSetInf implements Serializable{
        // 结算账户分类
        private String BlgAcctCl;
        // 结算方式
        private String BlgMth;
        // 账户分类
        private String AcctCtgry;
        // 金额类型
        private String AmtType;
        // 结算客户号
        private String BlgCstNo;
        // 结算账号
        private String BlgAcctNo;
        // 结算账户产品类型
        private String BlgAcctProdType;
        // 结算账户币种
        private String BlgAcctCurrCd;
        // 结算账户序号
        private String BlgAcctSrlNo;
        // 自动锁定标记
        private String AtmLockMark;
        // 贷款优先级
        private String LoanPrtyLvl;
        // 结算权重
        private String BlgRto;
        // 行内外标志
        private String BankInsdOutSdFlg;
        // 账户名称
        private String AcctNm;
        // 结算账户行号
        private String BlgAcctBnkNo;
        // 本行他行标志
        private String OwnOthrBankflg;

        @JSONField(name="BlgAcctCl")
        public void setBlgAcctCl(String BlgAcctCl){this.BlgAcctCl=BlgAcctCl;}
        @JSONField(name="BlgAcctCl")
        public String getBlgAcctCl(){return BlgAcctCl;}
        @JSONField(name="BlgMth")
        public void setBlgMth(String BlgMth){this.BlgMth=BlgMth;}
        @JSONField(name="BlgMth")
        public String getBlgMth(){return BlgMth;}
        @JSONField(name="AcctCtgry")
        public void setAcctCtgry(String AcctCtgry){this.AcctCtgry=AcctCtgry;}
        @JSONField(name="AcctCtgry")
        public String getAcctCtgry(){return AcctCtgry;}
        @JSONField(name="AmtType")
        public void setAmtType(String AmtType){this.AmtType=AmtType;}
        @JSONField(name="AmtType")
        public String getAmtType(){return AmtType;}
        @JSONField(name="BlgCstNo")
        public void setBlgCstNo(String BlgCstNo){this.BlgCstNo=BlgCstNo;}
        @JSONField(name="BlgCstNo")
        public String getBlgCstNo(){return BlgCstNo;}
        @JSONField(name="BlgAcctNo")
        public void setBlgAcctNo(String BlgAcctNo){this.BlgAcctNo=BlgAcctNo;}
        @JSONField(name="BlgAcctNo")
        public String getBlgAcctNo(){return BlgAcctNo;}
        @JSONField(name="BlgAcctProdType")
        public void setBlgAcctProdType(String BlgAcctProdType){this.BlgAcctProdType=BlgAcctProdType;}
        @JSONField(name="BlgAcctProdType")
        public String getBlgAcctProdType(){return BlgAcctProdType;}
        @JSONField(name="BlgAcctCurrCd")
        public void setBlgAcctCurrCd(String BlgAcctCurrCd){this.BlgAcctCurrCd=BlgAcctCurrCd;}
        @JSONField(name="BlgAcctCurrCd")
        public String getBlgAcctCurrCd(){return BlgAcctCurrCd;}
        @JSONField(name="BlgAcctSrlNo")
        public void setBlgAcctSrlNo(String BlgAcctSrlNo){this.BlgAcctSrlNo=BlgAcctSrlNo;}
        @JSONField(name="BlgAcctSrlNo")
        public String getBlgAcctSrlNo(){return BlgAcctSrlNo;}
        @JSONField(name="AtmLockMark")
        public void setAtmLockMark(String AtmLockMark){this.AtmLockMark=AtmLockMark;}
        @JSONField(name="AtmLockMark")
        public String getAtmLockMark(){return AtmLockMark;}
        @JSONField(name="LoanPrtyLvl")
        public void setLoanPrtyLvl(String LoanPrtyLvl){this.LoanPrtyLvl=LoanPrtyLvl;}
        @JSONField(name="LoanPrtyLvl")
        public String getLoanPrtyLvl(){return LoanPrtyLvl;}
        @JSONField(name="BlgRto")
        public void setBlgRto(String BlgRto){this.BlgRto=BlgRto;}
        @JSONField(name="BlgRto")
        public String getBlgRto(){return BlgRto;}
        @JSONField(name="BankInsdOutSdFlg")
        public void setBankInsdOutSdFlg(String BankInsdOutSdFlg){this.BankInsdOutSdFlg=BankInsdOutSdFlg;}
        @JSONField(name="BankInsdOutSdFlg")
        public String getBankInsdOutSdFlg(){return BankInsdOutSdFlg;}

        @JSONField(name="AcctNm")
        public void setAcctNm(String AcctNm){this.AcctNm=AcctNm;}
        @JSONField(name="AcctNm")
        public String getAcctNm(){return AcctNm;}

        @JSONField(name="BlgAcctBnkNo")
        public void setBlgAcctBnkNo(String BlgAcctBnkNo){this.BlgAcctBnkNo=BlgAcctBnkNo;}
        @JSONField(name="BlgAcctBnkNo")
        public String getBlgAcctBnkNo(){return BlgAcctBnkNo;}

        @JSONField(name="OwnOthrBankflg")
        public void setOwnOthrBankflg(String OwnOthrBankflg){this.OwnOthrBankflg=OwnOthrBankflg;}
        @JSONField(name="OwnOthrBankflg")
        public String getOwnOthrBankflg(){return OwnOthrBankflg;}
    }
}
